home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nifwtm / nifwtm.mac < prev   
Text File  |  1993-11-30  |  21KB  |  390 lines

  1.    GOTO(START)                      #
  2. ###############################################################################
  3. # ここから動作環境設定域                             #
  4. ###############################################################################
  5.                                     #巡回フォーラムの設定(記号化)      #
  6.                                     ###########################################
  7. F01:                                #
  8.    v$="FFMINFO 1 5"                 #
  9.    RETURN                           #この行は、いじらないで!
  10. F02:                                #
  11.    v$="FFMUSER ALL 20"              #
  12.    RETURN                           #この行は、いじらないで!
  13. F03:                                #
  14.    v$="FFMPRO  1,10 5"              #
  15.    RETURN                           #この行は、いじらないで!
  16. F04:                                #
  17.    v$="FFMHOB  ALL 25"              #
  18.    RETURN                           #この行は、いじらないで!
  19. F05:                                #
  20.    v$="FFMAV   ALL 10"              #
  21.    RETURN                           #この行は、いじらないで!
  22. F11:                                #
  23.    v$="FTOWNS1 1,6,7,10,15,18 10"   #
  24.    RETURN                           #この行は、いじらないで!
  25. F12:                                #
  26.    v$="FTOWNS2 7 10"                #
  27.    RETURN                           #この行は、いじらないで!
  28. F51:                                #
  29.    v$="FGALWT  ALL 30"              #
  30.    RETURN                           #この行は、いじらないで!
  31. F81:                                #
  32.    v$="FANTVA  2,4 20"              #
  33.    RETURN                           #この行は、いじらないで!
  34. F99:                                #
  35.    v$="FSTAGE  11 30"               #
  36.    RETURN                           #この行は、いじらないで!
  37.                                     ###########################################
  38.                                     #フォーラム巡回順序の設定           #
  39.                                     ###########################################
  40. START:                              #この行は、いじらないで!
  41.    VCLEAR                           #この行は、いじらないで!
  42.    o$="F02,F04,F05"                 #フォーラム巡回(パターン1)・・・メニュー実行
  43.    p$="F11,F12"                     #フォーラム巡回(パターン2)・・・メニュー実行
  44.    q$="F51"                         #フォーラム巡回(パターン3)・・・メニュー実行
  45. AUTOST:                             #この行は、いじらないで!
  46.    e$="F02,F04,F05,F11,F12,F51"     #フォーラム巡回(パターン4)・・・ノンストップ実行
  47.                                     ###########################################
  48.                                     #フォーラム巡回のメニューの表現を補足    #
  49.                                     ###########################################
  50.    r$="・・・FMR関連"               #フォーラム巡回(パターン1)の補足
  51.    s$="・・・TOWNS関連"           #フォーラム巡回(パターン2)の補足
  52.    t$="・・・WTERM関連"           #フォーラム巡回(パターン3)の補足
  53. ###############################################################################
  54. # ここからマクロ実行部                            #
  55. ###############################################################################
  56. # 使用作業域 a$~z$                           #
  57. ###############################################################################
  58.    IFE(n$,"AUTO")                   #『ノンストップ走行』?
  59.      GOTO(LOGIN)                    # メニュー処理しない
  60.                                     #
  61. MENU:                               #前処理(メニュー処理)
  62.    CALL(*FIRSTMN)                   #初メニュー表示処理へ
  63.    IFE(b$,"WRITEMAIL")              #『メール書込み』?
  64.      CALL(*FILEMN)                  # *メールファイル選択メニュー表示処理へ
  65.    IFE(c$,"GOFORUM")                #『フォーラム巡回』?
  66.      CALL(*FORUMMN)                 # *フォーラム巡回メニュー表示処理へ
  67.    CALL(*ENDMN)                     #*最終メニュー表示処理へ
  68.    VSWITCH(w$)                      #
  69.      CASE("GOFIRST")                #『最初のメニューに戻ってやり直す』?
  70.        w$=""                        #
  71.        GOTO(MENU)                   #
  72.    END                              #
  73.                                     #
  74. LOGIN:                              #ログイン処理
  75.    SEND(" P\R")                     #
  76.    WAIT("\010*")                #
  77.    SEND("C NIF\R")                  #
  78.    WAIT("--->")                        #サービス名称
  79.    SEND("SVC\R")                    #
  80.    WAIT("--->")                     #ユーザー名
  81.    SEND("\I\R")                     #
  82.    WAIT("--->")                     #パスワード
  83.    SEND("\P\R")                     #
  84.    CALL(*MAIL_CK)                   #*メールチェック処理へ
  85.    IFE(i$,"ONMAIL")                 #『未読メールあり』?
  86.      GOTO(MAILON)                   # メール処理へ
  87.    IFE(b$,"WRITEMAIL")              #『メール書込みする』?
  88.      GOTO(MAILON)                   # メール処理へ
  89.    SEND("SET PAGE OFF\R")           #ページ制御を「しない」に設定
  90.    WAIT("\010>")                   #プロンプトを待つ
  91. #  SEND("SET MENU OFF\R")           #メニュー制御を「しない」に設定
  92. #  WAIT("\010>")                   #プロンプトを待つ
  93.    GOTO(FORUMEXE)                   #上のケース以外だったらメール処理しない
  94.                                     #
  95. MAILON:                             #メール処理
  96.    SEND("SET PAGE OFF\R")           #ページ制御を「しない」に設定
  97.    WAIT("\010>")                   #プロンプトを待つ
  98.    SEND("MAIL\R")                   #メールサービスへ移動
  99.    WAIT("\010>")                   #プロンプトを待つ
  100.    IFE(i$,"ONMAIL")                 #『未読メールあり』?
  101.      CALL(*MAIL_RD)                 # *メール読込み処理へ
  102.    IFE(b$,"WRITEMAIL")              #『メール書込みする』?
  103.      CALL(*MAIL_WT)                 # *メール書込み処理へ
  104.                                     #
  105. FORUMEXE:                           #
  106.    IFE(c$,"GOFORUM")                #『フォーラム巡回する』?
  107.      CALL(*FORUM)                   # *フォーラム巡回処理へ
  108.    c$=""                            #
  109.    IFE(n$,"AUTO")                   #『ノンストップ走行』?
  110.      GOTO(ENDPROC)                  # 終了へ
  111.    IFE(f$,"ONNIFTY")                #『マクロ終了後、NIFTYにとどまる』?
  112.      CALL(*NIFTYMN)                 # *NIFTY行動選択メニューへ
  113.    IFE(c$,"GOFORUM")                #『フォーラム巡回する』?
  114.      GOTO(FORUMEXE)                 #
  115.                                     #
  116. ENDPROC:                            #終了処理
  117.    VSWITCH(g$)                      #
  118.      CASE("SETOFF")                 #『回線断する』?
  119.        SEND("BYE\R")                # LOGOUTする
  120.        WAIT("\010*")                #
  121.        SEND("OFF\R")                # 回線を切る
  122.    END                              #
  123.    IFE(h$,"ENDWTERM")               #『WTERMを終了する』?
  124.      QUIT                           # WTERM終了
  125.                                     #
  126. EXIT:                               #
  127.    EXIT                             #マクロを終了する
  128. #******************************************************************************
  129. *FIRSTMN:                           #サブルーチン開始(初メニュー表示)
  130.    x$="未読メール読込み+未読メール読込み~メール書込み~フォーラム巡回"
  131.    y$="未読メール読込み~メール書込み+やっぱりやめる"
  132.    z$="未読メール読込み       ~フォーラム巡回"
  133.    BELL("300","1")                  #
  134.    SMENU(x$,y$,z$)                  #メニュー表示
  135.    VSWITCH(x$)                      #
  136.      CASE("1")                      #未読メール読込み?
  137.        a$="READMAIL"                # 『未読メール読込み』
  138.      CASE("2")                      #メール書込み?
  139.        a$="READMAIL"                # 『未読メール読込み』
  140.        b$="WRITEMAIL"               # 『メール書込み』
  141.      CASE("3")                      #フォーラム巡回?
  142.        a$="READMAIL"                # 『未読メール読込み』
  143.        c$="GOFORUM"                 # 『フォーラム巡回』
  144.      CASE("4")                      #メール書込み~フォーラム巡回?
  145.        a$="READMAIL"                # 『未読メール読込み』
  146.        b$="WRITEMAIL"               # 『メール書込み』
  147.        c$="GOFORUM"                 # 『フォーラム巡回』
  148.      ELSE                           #やっぱりやめるorその他?
  149.        CALL(*MACEND)                # *マクロ終了処理へ
  150.    END                              #
  151.    RETURN                           #
  152. #******************************************************************************
  153. *FILEMN:                            #サブルーチン開始(メールファイル選択)
  154.    GETTXUPD(w$)                     #テキスト格納ドライブの設定
  155.    BELL("100","1")                  #
  156.    INPUTF(d$,w$,"*.TXT")            #テキストメニューの表示
  157.    IFE(d$,"")                       #ファイルが指定されなかった
  158.      CALL(*MACEND)                  #  *マクロ終了処理へ
  159.    RETURN                           #
  160. #******************************************************************************
  161. *FORUMMN:                           #サブルーチン開始(フォーラムメニュー表示)
  162.    x$="フォーラム巡回(パターン 1)"          #
  163.    y$="フォーラム巡回(パターン 2)"          #
  164.    z$="フォーラム巡回(パターン 3)"          #
  165.    CAT(x$,r$)                       #
  166.    CAT(y$,s$)                       #
  167.    CAT(z$,t$)                       #
  168.    BELL("100","1")                  #
  169.    SMENU(x$,y$,z$)                  #メニュー表示
  170.    VSWITCH(x$)                      #
  171.      CASE("1")                      #フォーラム巡回(パターン 1)?
  172.        e$=o$                        #
  173.      CASE("2")                      #フォーラム巡回(パターン 2)?
  174.        e$=p$                        #
  175.      CASE("3")                      #フォーラム巡回(パターン 3)?
  176.        e$=q$                        #
  177.      ELSE                           #その他?
  178.        CALL(*MACEND)                # *マクロ終了処理へ
  179.    END                              #
  180.    RETURN                           #呼出し元に復帰
  181. #******************************************************************************
  182. *ENDMN:                             #サブルーチン開始(最終メニュー表示)
  183.    x$="マクロ実行後、NIFTY にとどまる(回線断しない)+最初のメニューに戻ってやり直す"                               #
  184.    y$="マクロ実行後、回線断+やっぱりや~めた"
  185.    z$="マクロ実行後、回線断~WTERM終了"
  186.    BELL("100","1")                  #
  187.    SMENU(x$,y$,z$)                  #メニュー表示
  188.    VSWITCH(x$)                      #
  189.      CASE("1")                      #NIFTYにとどまる?
  190.        f$="ONNIFTY"                 #
  191.      CASE("2")                      #回線断?
  192.        g$="SETOFF"                  #
  193.      CASE("3")                      #回線断~WTERM終了?
  194.        g$="SETOFF"                  #
  195.        h$="ENDWTERM"                #
  196.      CASE("4")                      #最初のメニューに戻ってやり直す?
  197.        w$="GOFIRST"                 #
  198.        a$=""                        # 未読フラグのクリア
  199.        b$=""                        # 書込みフラグのクリア
  200.        c$=""                        # フォーラム巡回フラグのクリア
  201.        d$=""                        # メールファイルのクリア
  202.        e$=""                        # 巡回フォーラムのクリア
  203.      ELSE                           #やっぱりや~めたorその他?
  204.        CALL(*MACEND)                # *マクロ終了処理へ
  205.    END                              #
  206.    RETURN                           #呼出し元に復帰
  207. #******************************************************************************
  208. *NIFTYMN:                           #サブルーチン開始(NIFTY行動選択)
  209.    x$="自分でバンバンする(コマンドモードに戻る)+フォーラム巡回(パターン 1)"
  210.    y$="回線断+フォーラム巡回(パターン 2)"   #
  211.    z$="回線断~WTERM終了+フォーラム巡回(パターン 3)"
  212.    CAT(x$,r$)                       #
  213.    CAT(y$,s$)                       #
  214.    CAT(z$,t$)                       #
  215.    BELL("300","1")                  #
  216.    SMENU(x$,y$,z$)                  #メニュー表示
  217.    VSWITCH(x$)                      #
  218.      CASE("1")                      #自分でバンバンする?
  219. #      SEND("SET MENU ON\R")        #メニュー制御を「する」に設定
  220.        EXIT                         # マクロ終了
  221.      CASE("2")                      #回線断?
  222.        g$="SETOFF"                  #
  223.      CASE("3")                      #回線断~WTERM終了?
  224.        g$="SETOFF"                  #
  225.        h$="ENDWTERM"                #
  226.      CASE("4")                      #フォーラム巡回(パターン 1)?
  227.        c$="GOFORUM"                 #
  228.        e$=o$                        #
  229.      CASE("5")                      #フォーラム巡回(パターン 2)?
  230.        c$="GOFORUM"                 #
  231.        e$=p$                        #
  232.      CASE("6")                      #フォーラム巡回(パターン 3)?
  233.        c$="GOFORUM"                 #
  234.        e$=q$                        #
  235.      ELSE                           #その他?
  236.        EXIT                         # マクロ終了
  237.    END                              #
  238.    RETURN                           #呼出し元に復帰
  239. #******************************************************************************
  240. *MACEND:                            #サブルーチン開始(マクロ終了)
  241.    BELL("100","2","50")             #
  242.    COLOR(12)                        #
  243.    PRINTCR("マクロを中止します!!")#
  244.    OFF                              #回線切断、マクロ中止
  245. #******************************************************************************
  246. *MAIL_CK:                           #サブルーチン開始(メールチェック)
  247.    SWITCH                           #
  248.      CASE("(未読分")               #未読のメールがあれば
  249.        i$="ONMAIL"                  # 『未読メールあり』とする
  250.        WAIT("\010>")               # プロンプトを待つ
  251.      CASE("\010>")                 #未読のメールがなければ
  252.        i$="NOMAIL"                  # 『未読メールなし』とする
  253.    END                              #
  254.    RETURN                           #
  255. #******************************************************************************
  256. *MAIL_RD:                           #サブルーチン開始(メール読み込み)
  257.    LOGOPEN("MAIL")                  #LOGファイルオープン
  258.    SEND("READ NEW\R")               #未読のメールを一度に読む
  259. LOOP:                               #
  260.    SWITCH                           #
  261.      CASE("終了)\013\010:")        #受信後のプロンプトを検出したら
  262.        SEND("2\R")                  # 「2:保存」を選択
  263.      CASE("終了)\013\010>")       #すべてのメールを読み終えたら
  264.        GOTO(EXIT_RD)                # 後処理へ
  265.    END                              #
  266.    GOTO(LOOP)                       #処理を繰り返す
  267. EXIT_RD:                            #
  268.    LOGCLOSE                         #LOGファイルクローズ
  269.    RETURN                           #呼出し元に復帰
  270. #******************************************************************************
  271. *MAIL_WT:                           #サブルーチン開始(メール書込み)
  272.    SEND("2\R")                      #「2:送信」を選択
  273.    WAIT("/E)\013\010")             #送信可能となるまで待つ
  274.    UPTEXT(3,d$)                     #超高速テキスト送信
  275.    WAIT("終了)\013\010>")         #送信終了
  276.    RETURN                           #呼出し元に復帰
  277. #******************************************************************************
  278. *FORUM:                             #サブルーチン開始(フォーラム巡回)
  279.    PICKWORD(j$,e$,",")              #フォーラムラベルの切り出し
  280.    IFE(j$,"")                       #フォーラムの巡回終了?
  281.      RETURN                         #呼出し元に復帰
  282.    CALL(j$)                         #*フォーラム情報の取出し
  283.    PICKWORD(k$,v$,"")               #フォーラム名の切り出し(k$)
  284.    SEND("GO ")                      #
  285.    SEND(k$)                         #
  286.    SEND("\R")                       #指定フォーラムにジャンプ
  287.    WAIT("\010>")                   #
  288.    SEND("3\R")                      #電子会議に入る
  289.    WAIT("\010>")                   #
  290.    CAT(k$,".NIF")                   #
  291.    IF<>(u$,"RCALL")                 #未読を0処理でない?
  292.      LOGOPEN(k$)                    # LOGオープン
  293.    w$=""                            #
  294.    PICKWORD(l$,v$,"")               #会議室群の切り出し     (l$)
  295. ROOM:                               #     残ったのは読出し数(v$)
  296.    PICKWORD(m$,l$,",")              #会議室の切り出し       (m$)
  297.                                     #
  298.    VSWITCH(u$)                      #フォーラム巡回(既読処理)
  299.      CASE("RCALL")                  # 未読0処理?
  300.        IFE(m$,"")                   # 会議室の巡回終了?
  301.          GOTO(*FORUM)               #   次のフォーラムへ
  302.        VSWITCH(m$)                  #
  303.          CASE("ALL")                # ALL 指定?
  304.            BELL("100","2","50")     #
  305.            COLOR(2)                 #
  306.            PRINTCR("会議室が ALL 指定なので既読処理はできません")
  307.            GOTO(*FORUM)             #   次のフォーラムへ
  308.        END                          #
  309.        CAT(w$,m$)                   #
  310.        SEND(w$)                     #
  311.        SEND("\R")                   # 会議室へ
  312.        WAIT("\010>")               #  プロンプトを待つ
  313.        SEND("RC ALL\R")             # 未読0に設定
  314.        WAIT("\010>")               #  プロンプトを待つ
  315.        w$="RX "                     #
  316.        GOTO(ROOM)                   # 次の会議室へ
  317.    END                              #
  318.                                     #
  319.    VSWITCH(m$)                      #フォーラム巡回(未読処理)
  320.      CASE("")                       #会議室の巡回終了?
  321.        LOGCLOSE                     #  LOGクローズ
  322.        GOTO(*FORUM)                 #  次のフォーラムへ
  323.    END                              #
  324.    SEND("MREAD ROOM:")              #
  325.    SEND(m$)                         #
  326.    SEND(" LIMIT:")                  #
  327.    SEND(v$)                         #
  328.    SEND("\R")                       #会議内容の読込み
  329. PROMPT:                             #
  330.    WAIT("\010>","2",PROMPT)        #プロンプトを待つ
  331.    GOTO(ROOM)                       #次の会議室へ
  332. #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  333. @AUTO1:                             #特殊処理(処理1ノンストップ)
  334.    VCLEAR                           #
  335.    BELL("200","1")                  #
  336.    PRINTCR("☆メールの未読処理 を行います☆")
  337.    a$="READMAIL"                    #『未読メール読込み』
  338.    g$="SETOFF"                      #『回線断』
  339.    h$="ENDWTERM"                    #『WTERM終了』
  340.    n$="AUTO"                        #『ノンストップ走行』
  341.    GOTO(AUTOST)                     #本処理へ
  342.                                     #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  343. @AUTO2:                             #特殊処理(処理2ノンストップ)
  344.    VCLEAR                           #
  345.    BELL("200","1")                  #
  346.    PRINTCR("☆メールの未読処理~メールの書込み処理 を行います☆")
  347.    a$="READMAIL"                    #『未読メール読込み』
  348.    b$="WRITEMAIL"                   #『メール書込み』
  349.    d$="MAIL.TXT"                    #書込みMAILファイルの設定
  350.    g$="SETOFF"                      #『回線断』
  351.    h$="ENDWTERM"                    #『WTERM終了』
  352.    n$="AUTO"                        #『ノンストップ走行』
  353.    GOTO(AUTOST)                     #本処理へ
  354.                                     #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  355. @AUTO3:                             #特殊処理(処理3全自動)
  356.    VCLEAR                           #
  357.    BELL("200","1")                  #
  358.    PRINTCR("☆メールの未読処理~フォーラム巡回(未読処理)を行います☆")
  359.    a$="READMAIL"                    #『未読メール読込み』
  360.    c$="GOFORUM"                     #『フォーラム巡回』
  361.    g$="SETOFF"                      #『回線断』
  362.    h$="ENDWTERM"                    #『WTERM終了』
  363.    n$="AUTO"                        #『ノンストップ走行』
  364.    GOTO(AUTOST)                     #本処理へ
  365.                                     #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  366. @AUTO4:                             #特殊処理(処理4全自動)
  367.    VCLEAR                           #
  368.    BELL("200","1")                  #
  369.    PRINTCR("☆メールの未読処理~メールの書込み処理~フォーラム巡回(未読処理)を行います☆")
  370.    a$="READMAIL"                    #『未読メール読込み』
  371.    b$="WRITEMAIL"                   #『メール書込み』
  372.    c$="GOFORUM"                     #『フォーラム巡回』
  373.    d$="MAIL.TXT"                    #書込みMAILファイルの設定
  374.    g$="SETOFF"                      #『回線断』
  375.    h$="ENDWTERM"                    #『WTERM終了』
  376.    n$="AUTO"                        #『ノンストップ走行』
  377.    GOTO(AUTOST)                     #本処理へ
  378.                                     #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  379. @AUTO5:                             #特殊処理(フォーラムを既読にする)
  380.    VCLEAR                           #
  381.    BELL("200","1")                  #
  382.    PRINTCR("☆メールの未読処理~フォーラム巡回(既読処理)を行います☆")
  383.    a$="READMAIL"                    #『未読メール読込み』
  384.    c$="GOFORUM"                     #『フォーラム巡回』
  385.    g$="SETOFF"                      #『回線断』
  386.    h$="ENDWTERM"                    #『WTERM終了』
  387.    n$="AUTO"                        #『ノンストップ走行』
  388.    u$="RCALL"                       #『未読を0に』
  389.    GOTO(AUTOST)                     #本処理へ
  390.